Linux Training
I am struggling to find the right way to post here ... Is the blog title like the title for a book and the postings equivalent to the chapters in a book ?? I tried creating another blog but it didnt quite seem to be what i intended to do. So here it is .. i am now gonna just keep posting articles to my "first blood" blog.
It has been real tough since yesterday for me to get up early in the morning at 7, to be on time in office for the 9:30 training. Yesterday was the first day and it was fun. The trainer was finding it difficult to understand our questions, but then that added to the fun ;)
Few cool snippets i got from the training ...
1. The symbol table in a binary is used at compile time [ to resolve symbols ] and debug time, but *not* at runtime.
2. You can a strip a library of its symbols, create a symbol table file and then recreate the original file by combining the stripped library and the symbol table file using "nm".
3. The C convention of passing variables onto the stack is from left to right, and the Fortran convention is to pass it from right to left. The advantage of the C convention is that it enables us to have variable number of arguements.
4. The keyword "volatile" [ a storage class ] is used to tell the optimizer [ this is part of the compiler phase ] to always fetch the variable from RAM and not from the [ L1 or L2 ] cache [ This is the hardware cache ]. This feature is commonly used in the kernel code for device registers.
My one doubt on point 4 above is that, if reads happen first from cache and then from RAM, why dont the writes happen first in cache and then in RAM. We saw an example yesterday which was writing to the RAM and not the cache. Hopefully, this should be understood today :)
Time for the training now. .....
No comments:
Post a Comment